
import 'package:json_annotation/json_annotation.dart';

part 'core_rate_report.g.dart';

@JsonSerializable()
class CoreRateReport {
  int? dealerId;
  String? dealerCode;
  String? dealerName;
  String? provinceName;
  String? cityName;
  @JsonKey(defaultValue: "0%")
  String? orderTargetRate;
  //---------------------------
  @JsonKey(defaultValue: 0)
  int? clueNumT;
  @JsonKey(defaultValue: 0)
  int? clueNum;
  @JsonKey(defaultValue: 0)
  int? clueGap;
  @JsonKey(defaultValue: "0%")
  String? clueRate;
  @JsonKey(defaultValue: "0%")
  String? clueTargetRate;
  //---------------------------
  @JsonKey(defaultValue: 0)
  int? validNumT;
  @JsonKey(defaultValue: 0)
  int? validNum;
  @JsonKey(defaultValue: 0)
  int? validGap;
  @JsonKey(defaultValue: "0%")
  String? validRate;
  @JsonKey(defaultValue: "0%")
  String? validTargetRate;
  //---------------------------
  @JsonKey(defaultValue: 0)
  int? inshopNumT;
  @JsonKey(defaultValue: 0)
  int? inshopNum;
  @JsonKey(defaultValue: 0)
  int? inshopGap;
  @JsonKey(defaultValue: "0%")
  String? inshopRate;
  @JsonKey(defaultValue: "0%")
  String? inshopTargetRate;
  //---------------------------
  @JsonKey(defaultValue: 0)
  int? testDriveNumT;
  @JsonKey(defaultValue: 0)
  int? testDriveNum;
  @JsonKey(defaultValue: 0)
  int? testDriveGap;
  @JsonKey(defaultValue: "0%")
  String? testDriveRate;
  @JsonKey(defaultValue: "0%")
  String? testDriveTargetRate;
  //---------------------------
  @JsonKey(defaultValue: 0)
  int? orderNumT;
  @JsonKey(defaultValue: 0)
  int? saleNum;
  @JsonKey(defaultValue: 0)
  int? saleGap;
  @JsonKey(defaultValue: "0%")
  String? saleRate;
  @JsonKey(defaultValue: "0%")
  String? saleTargetRate;
  //---------------------------
  @JsonKey(defaultValue: "")
  String? remark;

  CoreRateReport({
    this.dealerId,
    this.dealerCode,
    this.dealerName,
    this.provinceName,
    this.cityName,
    this.orderTargetRate,
    this.clueNumT,
    this.clueNum,
    this.clueGap,
    this.clueRate,
    this.clueTargetRate,
    this.validNumT,
    this.validNum,
    this.validGap,
    this.validRate,
    this.validTargetRate,
    this.inshopNumT,
    this.inshopNum,
    this.inshopGap,
    this.inshopRate,
    this.inshopTargetRate,
    this.testDriveNumT,
    this.testDriveNum,
    this.testDriveGap,
    this.testDriveRate,
    this.testDriveTargetRate,
    this.orderNumT,
    this.saleNum,
    this.saleGap,
    this.saleRate,
    this.saleTargetRate,
    this.remark,
  });

  factory CoreRateReport.fromJson(Map<String, dynamic> json) => _$CoreRateReportFromJson(json);

  Map<String,dynamic> toJson() => _$CoreRateReportToJson(this);

}